import {request} from "./index";

//获得权限列表
export function getPowerData() {
    return request({
        url:'rights/list',
        method:'get'
    })
}
//获得tree型权限列表
export function getPowerTree() {
    return request({
        url:'rights/tree',
        method:'get'
    })
}
//获取角色列表数据
export function getRolesData() {
    return request({
        url:'roles',
        method:'get'
    })
}
/*
### 删除角色指定权限
- 请求路径：roles/:roleId/rights/:rightId
- 请求方法：delete
- 请求参数
  | 参数名   | 参数说明 | 备注                  |
  | -------- | -------- | --------------------- |
  | :roleId  | 角色 ID  | 不能为空`携带在url中` |
  | :rightId | 权限 ID  | 不能为空`携带在url中` |
*/
export function deleteRoleRight(roleId,rightId) {
    return request({
        url:`roles/${roleId}/rights/${rightId}`,
        method:'delete'
    })
}
/*### 角色授权

- 请求路径：roles/:roleId/rights
- 请求方法：post
- 请求参数：通过 `请求体` 发送给后端

| 参数名  | 参数说明               | 备注                                                     |
| ------- | ---------------------- | -------------------------------------------------------- |
| :roleId | 角色 ID                | 不能为空`携带在url中`                                    |
| rids    | 权限 ID 列表（字符串） | 以 `,` 分割的权限 ID 列表（获取所有被选中、叶子节点的key |
*/
export function addPower(roleId,checkedKey) {
    return request({
        url:`roles/${roleId}/rights`,
        method:'post',
        data:{
            rids:checkedKey
        }
    })
}
/*### 添加角色

- 请求路径：roles
- 请求方法：post
- 请求参数

| 参数名   | 参数说明 | 备注     |
| -------- | -------- | -------- |
| roleName | 角色名称 | 不能为空 |
| roleDesc | 角色描述 | 可以为空 |
*/
export function addRoleData(data) {
    return request({
        url:'roles',
        method:'post',
        data:{
            roleName:data.roleName,
            roleDesc:data.roleDesc
        }
    })
}
/*
 ### 编辑提交角色

- 请求路径：roles/:id
- 请求方法：put
- 请求参数

| 参数名   | 参数说明 | 备注                  |
| -------- | -------- | --------------------- |
| :id      | 角色 ID  | 不能为空`携带在url中` |
| roleName | 角色名称 | 不能为空              |
| roleDesc | 角色描述 | 可以为空              |
*/
export function editRoleData(id,data) {
    return request({
        url:`roles/${id}`,
        method:'put',
        data:{
            roleName:data.roleName,
            roleDesc:data.roleDesc
        }
    })
}
/*
### 删除角色

- 请求路径：roles/:id
- 请求方法：delete
- 请求参数

| 参数名 | 参数说明 | 备注                  |
| ------ | -------- | --------------------- |
| :id    | 角色 ID  | 不能为空`携带在url中` |
*/
export function deleteRole(id) {
    return request({
        url:`roles/${id}`,
        method:'delete'
    })
}